草庐IT

php - 匿名类构造

全部标签

c# - 强制派生类使用参数实现基类构造函数

是否可以对需要实现构造函数(带参数)的派生类强制执行编译时契约?我有一个基类,它的构造函数需要一个参数:publicclassFooBase{protectedintvalue;publicFooBase(intvalue){this.value=value;}publicvirtualvoidDoSomething(){thrownewNotImplementedException();}}我想强制派生我的基类来实现相同的构造函数:publicclassFoo:FooBase{publicFoo(intvalue):base(value){}publicoverridevoidDoS

c# - 在 .NET 中,是否在创建新的 AppDomain 时调用静态构造函数?

当我在C#中使用AppDomain.CreateDomain创建一个新的AppDomain时,当组件加载到新创建的AppDomain中时,是否会调用静态构造函数?有问题的程序集已经加载到当前域中。 最佳答案 否-静态构造函数只会在第一次访问静态成员或创建实例时调用。不过,静态构造函数将在每个AppDomain中调用一次,如果您担心的话。这不像在不同的AppDomain中执行过一次,新AppDomain中的类型未初始化:)请注意,没有静态构造函数的类型的类型初始值设定项可能比有静态构造函数的类型早于或晚于执行,具体实现细节change

c# - 什么是构造函数解析顺序?

当存在多个构造函数时,CaSTLeWindsor如何确定解析哪个构造函数? 最佳答案 所有可用的构造函数都被建模为候选人,并且基本上是在他们之间进行竞赛。构造函数中的每个参数代表一个可以满足或不满足的依赖关系。对于每个候选构造函数,分析所有依赖关系。如果可以满足依赖关系,则为候选人加两分。如果不能满足,则从候选人中减去两分。得分最高的候选构造函数获胜,并被选中实例化组件。这个算法的代码是here. 关于c#-什么是构造函数解析顺序?,我们在StackOverflow上找到一个类似的问题:

c# - 此代码返回不同的值。但是,我想要的是返回一个强类型集合而不是匿名类型

我有以下代码:varfoo=(fromdatainpivotedData.AsEnumerable()selectnew{Group=data.Field("Group_Number"),Study=data.Field("Study_Name")}).Distinct();正如预期的那样,这将返回不同的值。但是,我想要的是返回一个强类型集合而不是匿名类型,所以当我这样做时:varfoo=(fromdatainpivotedData.AsEnumerable()selectnewBarObject{Group=data.Field("Group_Number"),Study=data.

c# - 这里发生了什么?没有默认构造函数时如何调用?

给定以下代码:publicstructFoo{publicFoo(intbar,intbaz):this(){Bar=bar;//Err1,2Baz=baz;//Err3}publicintBar{get;privateset;}publicintBaz{get;privateset;}}:this()实际上做了什么?没有默认构造函数,那么它在调用什么?没有这个附录,整个事情就会因错误而崩溃。Error1The'this'objectcannotbeusedbeforeallofitsfieldsareassignedtoError2Backingfieldforautomatical

c# - 构造函数中 "this"关键字的作用是什么?

我刚才在看MSDN的示例代码,偶然发现了:namespaceIListSourceCS{publicclassEmployee:BusinessObjectBase{privatestring_id;privatestring_name;privateDecimalparkingId;publicEmployee():this(string.Empty,0){}// 最佳答案 它使用该签名调用该类中的其他构造函数。它是一种根据其他构造函数实现构造函数的方法。base也可以用来调用基类的构造函数。您必须有一个与此匹配的签名构造函数才能

c# - 在匿名类型的属性名称中使用异常(exception)字符(减号)

问题我正在尝试使用名为data-maxchars的属性声明一个匿名类型.因为减号是一个运算符,它将我想要的属性名称降级(?)为一个操作,我得到一个编译错误:Invalidanonymoustypememberdeclarator.我知道我可以使用@转义保留字,但我不知道是否有任何方法可以转义减号。objectattributes=(object)new{@class="foo"}//OK起源匿名类型作为object传递TextAreaExtensions.TextArea的参数:.这会生成一个具有传递属性的输入。我想使用JS渐进增强来限制用户可以插入的字符数。所以我正在使用data-我

c# - 如何找到所有静态构造函数?

我有一个包含许多C#项目的大型VisualStudio解决方案。如何找到所有的静态构造函数?我们有一些错误,其中一些做了愚蠢的事情,我想检查其他的。 最佳答案 在VisualStudio中,您可以使用正则表达式在代码中搜索。试试这个:static\s+\w+\s*\(如果您允许您的开发人员使用其他字符集,您可以调整字符集thanletter,numbersandunderscore.使用\w简化正则表达式之所以可行,是因为static关键字的其他用途至少需要一个返回类型。 关于c#-如何

c# - 在 C# 中应该如何使用匿名类型?

我看过很多关于匿名类型如何工作的描述,但我不确定它们到底有什么用。在设计良好的程序中,可以使用匿名类型来解决哪些场景? 最佳答案 匿名类型与系统设计无关,甚至与类级别无关。它们是开发人员在编码时使用的工具。我什至不将匿名类型视为类型本身。我主要将它们用作方法级匿名元组。如果我查询数据库然后操作结果,我宁愿创建一个匿名类型并使用它,而不是声明一个永远不会在我的方法范围之外使用或知道的全新类型。例如:varquery=fromitemindatabase.Items//...selectnew{Id=item.Id,Name=item.

c# - 匿名委托(delegate)作为函数参数

我正在尝试将匿名委托(delegate)(无输入参数,无返回值)的参数传递给函数。像这样:privatefunctionDoSomething(delegatecmd){cmd();}然后,我想用这个函数来调用函数:DoSomething(delegate{Console.WriteLine("Hooah!");});我想要这种特定的方式,因为它易于使用的写作风格。可能吗? 最佳答案 正是出于此类目的,Microsoft创建了Action和Func.NET框架中的包装器类。这两个类都依赖于anonymousfunctions.如果不